package java_test;

public class Stringoptimization {
    public static void main(String[] args) {
        String variables[] = new String[500000];
        for (int i = 0; i < 50000; i++) {
            variables[i] = "s" + i;
        }
        long startTime0 = System.currentTimeMillis();
        for (int i = 0; i < 500000; i++) {
            variables[i] = "hellow";
        }
        long endTime0 = System.currentTimeMillis();
        System.out.println("直接使用字符串： " + (endTime0 - startTime0) + " ms");
        long startTime1 = System.currentTimeMillis();
        for (int i = 0; i < 500000; i++) {
            variables[i] = new String("hello");
        }
        long endTime1 = System.currentTimeMillis();
        System.out.println("使用 new 关键字：" + (endTime1 - startTime1) + " ms");
        long startTime2 = System.currentTimeMillis();
        for (int i = 0; i < 500000; i++) {
            variables[i] = new String("hello");
            variables[i] = variables[i].intern();
        }
        long endTime2 = System.currentTimeMillis();
        System.out.println("使用字符串对象的 intern() 方法: " + (endTime2 - startTime2) + " ms");
    }
}
